package com.gitee.feizns.web.dao.handler.meta.annotation;

import com.gitee.feizns.web.dao.ar.AbstractModel;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author feizns
 * @since 2019/7/25
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RedundancyBy {

    /**
     * 冗余查询表
     * @return
     */
    Class<? extends AbstractModel> value();

    /**
     * 查询结果的字段名：默认为属性名
     * @return
     */
    String field() default "";

    /**
     * 根据哪个属性来查询
     * @return
     */
    String by() default "";

    /**
     * 根据字段名称
     * @return
     */
    String byField() default "";

}
